#include <REGX52.H>
/**
 * 灯：
 * 密码指示灯 1,2,3,4
 * 操作状态灯 5（红）,6（绿）
 *
 * 按键：
 * 密码输入按键 1,2,3,4
 * 状态切换按键 5
 * 确认按键 6
 * 返回按键 7
 *
 * 状态：
 * 1. 密码输入状态，输入密码按键，
 * 按键1,2,3,4 对应密码指示灯1,2,3,4，
 * 按键按下后对应密码指示灯亮
 * 按照输入的顺序，点亮对应的灯。
 * 按下返回按键7，取消之前的输入
 * 按下确认6，需要确保输入1234灯全部被点亮，代表密码输入正确
 * 密码输入正确后，绿灯亮。
 * 输入返回后，恢复到密码输入状态。
 *
 * 2. 密码设置状态，按下状态切换按键5，切换密码设置状态和密码输入状态
 * 密码设置状态，输入新密码，覆盖之前的密码。密码输入状态下，红色指示灯5亮起
 * 同样点亮1,2,3,4 密码后，输入确认，保存新密码，进入到密码输入状态（红色指示灯灭）
 *
 *
 * 重设密码功能：
 * 输入4个按键，不能重复，如果重复，闪灯警告
 *
 * 输入密码功能：
 * 输入4个按键，不能重复，如果重复，闪灯警告
 * 输入密码错误，闪灯警告
 * 输入正确，亮绿灯。
 * 按键关闭，相当于关闭保险箱
 */

void delay_ms(unsigned int ms)
{
    unsigned int i, j;
    for (i = 0; i < ms; i++)
    {
        for (j = 0; j < 123; j++)
            ;
    }
}
